- 서비스 검색과 로드 밸런싱
- 호출할 서비스의 네트워크 상 주소 검색
- 서비스의 배포나 재시작에 의해 주소가 변경될 시 컨트롤 플레인이 감지 후 통보
- 로드 밸런싱에 대한 방침 역시 수신
- 트래픽 제어
- 트래픽 분할
- 접속 위치를 특정 비율로 나누기
- A/B 테스트에 유리
- 조건에 따른 트래픽 분리
- 장애 주입
- 응답이 오기전까지 일부러 지연 발생키기거나 500번대 오류 발생시킴
- 장애 테스트를 효과적으로 할 수 있음
- 서킷 브레이커circuit breaker
- 특정 서비스에 장애가 발생할 시 영향 범위를 최소화
- 장애 발생 감지 시 시간 지연을 막기 위해 오류를 반환하여 지연 방지를 하는 등의 동작
- 뒤 서비스가 장애를 일으키자 앞 서버는 뒤 서비스의 500에러를 받고 유기적으로 대응
- 서비스의 장애를 파악하는 로직 필요
- 장애 해결 시 접근 재개
- 분산 추적을 위한 원격 측정 데이터 수집
- ditributed tracing
- 하나의 요청이 여러 서비스에서 사용될 때 호출되는 각 서비스에서의 처리 시간 등 요청을 처리하는 구조
- 각 서비스에서 발생하는 로그를 연결하여 전체를 파악
- Istio에서 재거라는 툴을 통해 가시화할 수 있음
- 서비스 메시는 원격 측정 데이터를 수집, 추적 가시화 프로바이더를 따로 두는 경우 대다수
- Zipkin이나 Jaeger
- 요청에 대해 ID를 부여하여 수집
- 보안
- 컨트롤 플레인은 안전한 통신을 위해 인증, 인가 방침 배포
- 상호 TLS 인증 실현
- 각 서비스가 독자적 인증서를 이용할 경우, 각 인증서가 신뢰할 수 있는 것인지 확인하기 위한 관리 필요
- 서비스 메시는 이를 일괄 관리하기에 효율적